package com.example.mapper;

import com.example.domain.Student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface GroupMapper {
    List<Map<String, Object>> getStudentScores(Map<String, Object> paramMap);
    List<Map<String, Object>> getTopTenStudentScores(Map<String, Object> paramMap);
    void updateStudentGroup(@Param("studentId") long studentId, @Param("groupNumber") int groupNumber);
    // 任务分成课前,课中,课后
    List<Map<String, Object>> getMissionStats(Map<String, Object> params);
    // 统计不同组号的平均成绩（参数动态传入）
    List<Map<String, Object>> getAverageScoreByGroup(Map<String, Object> paramMap);
    // 查询所有互动记录
    List<Map<String, Object>> getAllInteractRecords();
    // 小组分组
    List<Map<String, Object>> getMissionStatsByGroup(Map<String, Object> params);
    // 查询预警数据
    List<Map<String, Object>> getWarningData(Map<String, Object> params);
//    查询课中错误数据
    List<Map<String, Object>> getDuringErrorData(Map<String, Object> params);
//         定义课中平均score的 CTE，计算所有学生的平均分
    List<Map<String, Object>> yourOriginalSqlId(Map<String, Object> params);
    // 查询某班级某任务类型下的错误数据
    List<Map<String, Object>> getFaultByClassIdAndMissionType(@Param("classId") Integer classId, @Param("missionType") String missionType);
}
